/**
 * 平台配置中心-系统配置
 */
import request from '@/utils/requestServe';

/**
 * 系统管理 系统下的应用 查询（不分页）接口
 * @param {Object} data
 */
export const queryAppList = (data) => {
    return request({
        url: '/api-sys/base/module/queryAll',
        method: 'POST',
        data
    })
}

/**
 * 功能参数 - 功能参数分类
 * @param {Object} data
 */
export const queryParaClass = (data, tenementId) => {
    return request({
        url: '/api-sys/base/paraType/queryAll',
        method: 'post',
        tenementId,
        tenementId,
        data
    })
}

/**
 * 功能参数 - 功能参数分类 分页查询
 * @param {Object} data
 */
export const queryParaClassPageQuery = (data, tenementId) => {
    return request({
        url: '/api-sys/base/paraType/pageQuery',
        method: 'post',
        tenementId,
        tenementId,
        data
    })
}

/**
 * 功能参数 - 参数分类保存
 * @param {Object} data
 */
export const saveParaClass = (data, tenementId) => {
    return request({
        url: '/api-sys/base/paraType/save',
        method: 'post',
        tenementId: tenementId,
        data
    })
}

/**
 * 功能参数 - 参数分类编辑
 * @param {Object} data
 */
export const editParaClass = (data) => {
    return request({
        url: '/api-sys/base/paraType/update',
        method: 'post',
        data
    })
}

/**
 * 功能参数 - 根据id查参数分类详情
 * @param {Object} data
 */
export const QueryParaTypeDetlById = (data, tenementId) => {
    return request({
        url: '/api-sys/base/paraType/getById/' + data.id + (tenementId ? ('?tenementId='　 + tenementId)　 : ''),
        method: 'get'
    })
}

/**
 * 功能参数 - 根据id删除参数分类
 * @param {Object} data
 */
export const deleteParaTypeById = (data) => {
    return request({
        url: '/api-sys/base/paraType/deleteById',
        method: 'post',
        data
    })
}

/**
 * 功能参数 - 根据id删除参数分类  批量删除
 * @param {Object} data
 */
export const deleteParaTypeByIds = (data) => {
    return request({
        url: '/api-sys/base/paraType/deleteByIds',
        method: 'post',
        data
    })
}

/**
 * 功能参数 - 验证参数唯一性
 * @param {Object} data
 */
// export const validatorValStr = (typeCode, valStr) => {
//     return request({
//         url: 'base/para/getByValStr/' + typeCode + '/' + valStr,
//         method: 'get',
//     })
// }

export const validatorValStr = (typeCode, valStr) => {
    let data = {
        typeCode: typeCode,
        valStr: valStr
    }
    return request({
        url: '/api-sys/base/para/getNameByValStr',
        method: 'post',
        data: data
    })
}

/**
 * 功能参数 - 参数保存
 * @param {Object} data
 */
export const savePara = (data, tenementId) => {
    return request({
        url: '/api-sys/base/para/save',
        method: 'post',
        tenementId: tenementId,
        data
    })
}

/**
 * 功能参数 - 参数修改
 * @param {Object} data
 */
export const editPara = (data, tenementId) => {
    return request({
        url: '/api-sys/base/para/update',
        method: 'post',
        tenementId: tenementId,
        data
    })
}

/**
 * 功能参数 - 参数列表 (分页)
 * @param {Object} data
 */
export const queryParaList = (data, tenementId) => {
    return request({
        url: '/api-sys/base/para/queryPage',
        method: 'post',
        tenementId: tenementId,
        data
    })
}

/**
 * 功能参数 - 参数列表 (不分页)
 * @param {Object} data
 */
export const queryParaListAll = (data) => {
    return request({
        url: '/api-sys/base/para/queryAll',
        method: 'post',
        data
    })
}

/**
 * 功能参数 - 根据id删除参数
 * @param {Object} data
 */
export const deleteParaById = (data) => {
    return request({
        url: '/api-sys/base/para/deleteByIds',
        method: 'post',
        data
    })
}

/**
 * 功能参数 - 根据ID查参数明细
 * @param {Object} data
 */
export const queryParaDetail = (id, tenementId) => {
    return request({
        url: '/api-sys/base/para/getById/' + id,
        method: 'get'
    })
}

/**
 * 功能参数 - 根据ID查级联参数
 * @param {Object} data
 */
export const queryParaCascById = (id) => {
    return request({
        url: '/api-sys/base/paraCasc/getByParaId/' + id,
        method: 'get',
    })
}

/**
 * 功能参数 - 根据 参数ID和分类编号 查级联参数
 * @param {Object} data
 */
export const queryParaCascByIdAndParamType = (id, paramType) => {
    return request({
        url: '/api-sys/base/paraCasc/getParaCasc/' + id + '/' + paramType,
        method: 'get'
    })
}


/**
 * 功能参数 - 功能参数-获取左侧树数据
 * @param {Object} data
 */
export const queryParaTree = (code) => {
    return request({
        url: '/api-sys/base/paraType/getTreeNode/' + code,
        method: 'get'
    })
}